Description
给出 $n$ 个点,$m$ 条边的有向图,对于每个点 $v$,求 $A(v)$ 表示从点 $v$ 出发,能到达的编号最大的点。
数据范围:$1<=n,m<=10^5$
Solution
建边的时候建反向边。从编号最大的点开始,搜索其能够到达的所有 未标记 的点,将这些点标记。同时将这些点的答案记为当前点的编号。时间复杂度为 $O(n)$。
Code
1 |
|
Just Do It.
给出 $n$ 个点,$m$ 条边的有向图,对于每个点 $v$,求 $A(v)$ 表示从点 $v$ 出发,能到达的编号最大的点。
数据范围:$1<=n,m<=10^5$
建边的时候建反向边。从编号最大的点开始,搜索其能够到达的所有 未标记 的点,将这些点标记。同时将这些点的答案记为当前点的编号。时间复杂度为 $O(n)$。
1 | #include <iostream> |